home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 03 Demos and Info / ASMTXT.SDA / ASM2 < prev    next >
Encoding:
Text File  |  2019-04-13  |  12.3 KB  |  497 lines

  1.  
  2.  
  3.  
  4.  
  5.     ┴TARI ┴SSEMBLER ├OURSE
  6.       (EDITED FOR ├┬═)
  7. ----------------------------------
  8.    2.1  ┴CCUMULATOR AND ┴RITHMETIC
  9.  
  10.  2.1.1  ╘HE "╨┼┼╦ & ╨╧╦┼"
  11.       OF ┴SSEMBLY ╠ANGUAGE
  12.  
  13.  ,-----.
  14.  ▄ ╠─┴ ▄ -- ╠OAD ┴CC. FROM ═EMORY
  15.  '-----'
  16.  ═ -> ┴
  17.  
  18.    ╘HE ╠─┴ INSTRUCTION TRANSFERS DATA FROM MEMORY AND STORES IT IN THE 
  19. ACCUMULATOR.  ╘HIS MAY BE THOUGHT OF AS "╨┼┼╦ING" A MEMORY LOCATION USING 
  20. ┬┴╙╔├. ─EPENDING UPON THE DATA VALUE, THIS COMMAND MAY EFFECT THE ZERO AND 
  21. NEGATIVE FLAGS.
  22.    ╘HE ╠─┴ INSTRUCTION MAY BE USED WITH ALL MAJOR "ADDRESSING MODES".  
  23. (╘HEY WILL BE FULLY DISCUSSED LATER IN THE COURSE.) ╞OR NOW WE WILL USE TWO 
  24. OF THESE MODES: "IMMEDIATE" AND "ABSOLUTE". ╔N THE IMMEDIATE MODE, THE 
  25. ╓┴╠╒┼ OF THE OPERAND WILL BE LOADED INTO THE ACCUMULATOR. ╘HIS MODE IS 
  26. SYMBOLIZED BY A POUND SIGN BEFORE THE OPERAND:
  27.  
  28.    ╠─┴ #42 ;╠OAD A DECIMAL NUMBER
  29.            ;INTO THE ACCUMULATOR.
  30.  
  31.    ╠─┴ #$2┴ ;╠OAD A HEX NUMBER.
  32.  
  33.    ╔N THE ABSOLUTE ADDRESSING MODE, THE OPERAND IS THE MEMORY LOCATION (2 
  34. BYTES) WHERE THE DATA WILL BE FOUND:
  35.  
  36.    ╠─┴ 1536  ;╟ET THE VALUE AT
  37.              ;ADDRESS DECIMAL 1536.
  38.  
  39.    ╠─┴ $0600 ;╟ET THE VALUE AT
  40.              ;ADDRESS HEX 600.
  41.  
  42.  
  43.  ,-----.
  44.  ▄ ╠─╪ ▄ -- ╠OAD ╪-╥EG. FROM ═EMORY
  45.  '-----'
  46.  ═ -> ╪
  47.  
  48.  ,-----.
  49.  ▄ ╠─┘ ▄ -- ╠OAD ┘-╥EG. FROM ═EMORY
  50.  '-----'
  51.  ═ -> ┘
  52.  
  53.    ╘HE ╠─╪ AND ╠─┘ INSTRUCTIONS ARE SIMILAR TO THE ╠─┴ BUT USE THE ╪ AND ┘ 
  54. REGISTERS, RESPECTIVELY.
  55.  
  56.    ╠─╪ #214 ;╠OAD THE ╪-REGISTER
  57.             ;WITH THE NUMBER 214.
  58.  
  59.    ╠─┘ $02┼4 ;╨UT THE VALUE FROM
  60.   ;LOCATION HEX 2┼4 IN THE ┘-REG.
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  ,-----.
  72.  ▄ ╙╘┴ ▄ -- ╙TORE ┴CC. IN ═EMORY
  73.  '-----'
  74.  ┴ -> ═
  75.  
  76.    ╘HIS INSTRUCTION TRANSFERS THE CONTENTS OF THE ACCUMULATOR TO MEMORY AND 
  77. CHANGES NONE OF THE STATUS FLAGS. ┴LSO, THE VALUE IN THE ACCUMULATOR IS 
  78. UNCHANGED AFTER THE OPERATION.
  79.    ╘HE ╙╘┴ INSTRUCTION USES ALL THE MAJOR ADDRESSING MODES. ╔N THE ABSOLUTE 
  80. MODE, THE ACCUMULATOR IS STORED AT THE ADDRESS GIVEN IN THE OPERAND:
  81.  
  82.    ╙╘┴ $22┴7 ;╙AVE THE ACCUMULATOR
  83.              ;AT LOCATION HEX 22┴7.
  84.  
  85.    ╙╘┴ ─┴╘┴ ;╔N SYMBOLIC NOTATION,
  86.             ;THE ADDRESS '─┴╘┴'
  87.             ;MUST BE GIVEN A VALUE.
  88.  
  89.  ,-----.
  90.  ▄ ╙╘╪ ▄ -- ╙TORE ╪-╥EG. IN ═EMORY
  91.  '-----'
  92.  ╪ -> ═
  93.  
  94.  ,-----.
  95.  ▄ ╙╘┘ ▄ -- ╙TORE ┘-╥EG. IN ═EMORY
  96.  '-----'
  97.  ┘ -> ═
  98.  
  99.    ╘HE ╙╘╪ AND ╙╘┘ INSTRUCTIONS SAVE THE VALUE OF THE ╪ AND ┘ INDEX 
  100. REGISTERS IN MEMORY.
  101.  
  102.    ╙╘╪ ╦┼┼╨╪ ;╙AVE THE ╪-REGISTER
  103.              ;AT ADDRESS '╦┼┼╨╪'.
  104.  
  105.    ╙╘┘ 1000 ;╙TORE THE ╪ VALUE AT
  106.             ;LOCATION DECIMAL 1000.
  107.  
  108.  
  109.   2.1.2  ╥EGISTER ╘RANSFERS
  110.  
  111.    ╘HE ABILITY TO EXCHANGE THE CONTENTS OF THE REGISTERS PROVES TO  BE VERY 
  112. USEFUL IN ASSEMBLY PROGRAMMING. ╘HE FOLLOWING COMMANDS TRANSFER DATA 
  113. BETWEEN THE ACCUMULATOR AND THE INDEX REGISTERS.
  114.  
  115.  ,-----.
  116.  ▄ ╘┴╪ ▄ -- ╘RANSFER ┴CC. TO ╪-╥EG.
  117.  '-----'
  118.  ┴ -> ╪
  119.  
  120.  ,-----.
  121.  ▄ ╘┴┘ ▄ -- ╘RANSFER ┴CC. TO ┘-╥EG.
  122.  '-----'
  123.  ┴ -> ┘
  124.  
  125.    ╘HESE TWO INSTRUCTIONS TRANSFER THE VALUE IN THE ACCUMULATOR TO THE 
  126. CORRESPONDING INDEX REGISTER. ╘HE ACCUMULATOR RETAINS ITS VALUE BUT THE 
  127. NEGATIVE AND ZERO STATUS FLAGS ARE EFFECTED. ╘HIS INSTRUCTION REQUIRES NO 
  128. OPERAND (IMPLIED ADDRESSING).
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  ,-----.
  137.  ▄ ╘╪┴ ▄ -- ╘RANSFER ╪-╥EG. TO ┴CC.
  138.  '-----'
  139.  ╪ -> ┴
  140.  
  141.  ,-----.
  142.  ▄ ╘╪┘ ▄ -- ╘RANSFER ┘-╥EG. TO ┴CC.
  143.  '-----'
  144.  ┘ -> ┴
  145.  
  146.    ╘HE ╘╪┴ AND ╘┘┴ INSTRUCTIONS TRANSFER THE INDEX REGISTERS TO THE 
  147. ACCUMULATOR AND EFFECT THE NEGATIVE AND ZERO FLAGS. ┴GAIN, THE NUMBER 
  148. REMAINS IN THE ORIGINATING REGISTER AND NO OPERAND IS NEEDED.
  149.  
  150.    ╠─┴ #┴9 ;╨UT THE NUMBER HEX ┴9
  151.            ;INTO THE ACCUMULATOR.
  152.    ╘┴╪     ;═OVE IT TO THE ╪-REG.
  153.  
  154.    ╠─┘ ╘┼═╨ ;╠OAD THE ┘-REGISTER
  155.         ;WITH THE NUMBER AT '╘┼═╨'.
  156.    ╘┘┴      ;AND TRANSFER IT TO THE
  157.             ;ACCUMULATOR.
  158.  
  159.  
  160.   2.1.3   ┴DDITION AND ╙UBTRACTION
  161.  
  162.    ╘HE ARITHMETIC FUNCTIONS ARE USED IN MANY MACHINE LANGUAGE PROGRAMS. 
  163. ┴DDITION AND SUBTRACTION ARE THE ONLY TWO MATH OPERATIONS THAT THE 6502 CAN 
  164. EXECUTE; ALL OTHER COMPUTATIONS ARE DERIVED FROM THEM. ┬ECAUSE ALL 
  165. OPERATIONS ARE DONE ONE-BYTE AT A TIME, LARGER NUMBERS WILL REQUIRE 
  166. MULTIPLE OPERATIONS USING A "CARRY" FOR ADDING OR A "BORROW" FOR 
  167. SUBTRACTING.
  168.  
  169.  ,-----.
  170.  ▄ ┴─├ ▄ -- ┴DD ═EMORY TO ┴CC.
  171.  '-----'       WITH ├ARRY
  172.  ┴+═+├ -> ┴
  173.  
  174.   ╘HE ┴─├ INSTRUCTION ADDS A VALUE IN MEMORY TO THE ACCUMULATOR. ╘HE VALUE 
  175. OF THE CARRY BIT (1 OR 0) IS ALSO ADDED IN. ╘HE RESULT IS STORED IN THE 
  176. ACCUMULATOR AND THE FOLLOWING FLAGS ARE EFFECTED: THE CARRY BIT IS SET IF 
  177. THE SUM EXCEEDS 255 FOR A BINARY ADD OR 99 FOR A DECIMAL ADD; THE NEGATIVE 
  178. FLAG IS SET IF THE SEVENTH BIT OF THE ACCUMULATOR IS ON; THE OVERFLOW  FLAG 
  179. IS SET IF BIT 7 WAS CHANGED  DUE TO THE SUM EXCEEDING +127 OR -128; THE 
  180. ZERO FLAG IS SET IF THE RESULT IS ZERO.
  181.   ╘HIS INSTRUCTION, LIKE THE ╠─┴ INSTRUCTION, HANDLES ALL OF THE MAJOR 
  182. ADDRESSING MODES. ┴LSO, THE ADDITION MAY BE EITHER BINARY OR 
  183. BINARY-CODED-DECIMAL AND IS CHOSEN BY THE FOLLOWING ONE-BYTE COMMANDS:
  184.  
  185.  ,-----.
  186.  ▄ ├╠─ ▄ -- ├LEAR ─ECIMAL ═ODE
  187.  '-----'    (RETURN TO BINARY MODE)
  188.  0 -> ─
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  ,-----.
  203.  ▄ ╙┼─ ▄ -- ╙ET ─ECIMAL ═ODE
  204.  '-----'
  205.   1 -> ─
  206.  
  207.   ╬ORMALLY, THE BINARY MODE IS ASSUMED AND ALL OPERATIONS ARE DONE WITH 
  208. BINARY NUMBERS. ╘HE DECIMAL MODE IS USED IN SPECIAL CASES AND SHOULD BE 
  209. CLEARED AFTER ALL DECIMAL OPERATIONS. ┴LSO, THE CARRY FLAG SHOULD BE 
  210. CLEARED BEFORE AN ADDITION ROUTINE TO DISREGARD A PREVIOUS CARRY.
  211.  
  212.  ,-----.
  213.  ▄ ├╠├ ▄ -- ├LEAR ├ARRY ╞LAG
  214.  '-----'
  215.  0 -> ├
  216.  
  217.   ╠─┴ #$4┴  ;┴DD THE NUMBER HEX 4┴ 
  218.   ├╠├       ;(WITHOUT A CARRY)
  219.   ┴─├ $2├00 ;TO THE VALUE IN MEMORY
  220.             ;LOCATION HEX 2├00
  221.   ╙╘┴ $2├00 ;AND PUT THE SUM BACK
  222.             ;INTO MEMORY.
  223.  
  224.  
  225.   ┴DDING TWO 2-BYTE NUMBERS:
  226.  
  227.   ╠─┴ ╠╧╫1 ;╠OAD LOWER ORDER BYTE
  228.            ;OF FIRST NUMBER.
  229.   ├╠├      ;├LEAR THE ├ARRY FLAG.
  230.   ┴─├ ╠╧╫2 ;┴DD ╠╧╫1 TO THE LOWER
  231.            ;BYTE OF 2ND NUMBER.
  232.   ╙╘┴ ╠╧╫3 ;╙TORE LOW HALF OF THE
  233.            ;SUM AT ╠╧╫3.
  234.   ╠─┴ ╚╔╟╚1 ;╟ET THE HIGHER-ORDER
  235.            ;BYTE OF 1ST NUMBER.
  236.   ┴─├ ╚╔╟╚2 ;┴DD TO THE HIGH BYTE
  237.            ;OF 2ND NUMBER PLUS THE
  238.            ;CARRY FROM THE LOW SUM.
  239.   ╙╘┴ ╚╔╟╚3 ;╦EEP THE HIGH HALF OF
  240.             ;THE SUM AT ╚╔╟╚3.
  241.  
  242.  
  243.  ,-----.
  244.  ▄ ╙┬├ ▄ -- ╙UBTRACT ═EMORY FROM
  245.  '-----'     ┴CC. WITH ┬ORROW.
  246.  ┴-═-(1-├) -> ┴
  247.  
  248.    ╘HE ╙┬├ INSTRUCTION SUBTRACTS A VALUE IN MEMORY FROM THE ACCUMULATOR AND 
  249. TAKES AWAY A BORROW LEFT FROM THE PREVIOUS OPERATION.  ╘HE BORROW IS 
  250. ACTUALLY THE LACK OF A CARRY! ╘HERFORE, THE CARRY MUST BE SET BEFORE A 
  251. SUBTRACTION OPERATION. ╘HIS COMMAND HAS THE SAME ADDRESSING MODES AND FLAG 
  252. CHANGES AS THE ┴─├ INSTRUCTION. ╔F THE RESULT OF THE SUBTRACTION IS LESS 
  253. THAN ZERO, THE CARRY FLAG IS CLEARED TO SIGNIFY A BORROW.
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  ,-----.
  269.  ▄ ╙┼├ ▄ -- ╙ET ├ARRY ╞LAG
  270.  '-----'  (├LEAR THE ┬ORROW)
  271.  1 -> ├
  272.  
  273.  
  274.    ╠─┴ ╘╔═┼ ;─ECREASE THE VALUE IN
  275.    ╙┼├      ;MEMORY LOCATION '╘╔═┼'
  276.    ╙┬├ #60  ;BY THE NUMBER 60.
  277.    ╙╘┴ ╘╔═┼
  278.  
  279.    ╠─┴ ╠╧╫1 ;╙UBTRACT TWO 16-BIT
  280.    ╙┼├      ;NUMBERS SAVED AT
  281.    ╙┬├ ╠╧╫2 ;╚╔╟╚1,╠╧╫1
  282.    ╙╘┴ ╠╧╫3 ;AND ╚╔╟╚2,╠╧╫2
  283.    ╠─┴ ╚╔╟╚1 ;┴ND SAVE THE RESULTS
  284.    ╙┬├ ╚╔╟╚2 ;AT ╚╔╟╚3,╠╧╫3.
  285.    ╙╘┴ ╚╔╟╚3
  286.  
  287.  
  288.   2.1.4   ╔NCREMENT AND ─ECREMENT
  289.  
  290.    ╘HE ╔NCREMENT AND ─ECREMENT INSTRUCTIONS ADD OR SUBTRACT ONE FROM A 
  291. VALUE IN MEMORY OR AN INDEX REGISTER. ╘HESE INSTRUCTIONS ARE VERY VALUABLE 
  292. WHEN USED INSIDE LOOPS. ╘HE ONLY WAY TO ─┼├ OR ╔╬├ DIRECTLY WITH THE 
  293. ACCUMULATOR IS TO USE THE ┴─├ OR ╙┬├.
  294.  
  295.  
  296.  ,-----.
  297.  ▄ ╔╬├ ▄ -- ╔NCREMENT ═EMORY BY ╧NE
  298.  '-----'
  299.  ═+1 -> ═
  300.  
  301.  ,-----.
  302.  ▄ ─┼├ ▄ -- ─ECREMENT ═EMORY BY ╧NE
  303.  '-----'
  304.  ═-1 -> ═
  305.  
  306.    ╘HE ╔╬├ INSTRUCTION ADDS 1 TO THE CONTENTS OF A MEMORY LOCATION AND THE 
  307. ─┼├ INSTRUCTION SUBTRACTS ONE FROM MEMORY. ╘HESE COMMANDS OPERATE DIRECTLY 
  308. ON MEMORY WITHOUT EFFECTING THE CONTENTS OF THE REGISTERS. ╧NLY THE ZERO 
  309. AND NEGATIVE FLAGS ARE EFFECTED BY THE NEW VALUE IN MEMORY.
  310.  
  311.    ╠─┴ #10
  312.    ╔╬├ ├╧╒╬╘ ;┴DD ONE TO THE VALUE
  313.              ;AT ╠OCATION '├╧╒╬╘'.
  314.   ;╘HE ACCUMULATOR STILL EQUALS 10.
  315.  
  316.  
  317.  ,-----.
  318.  ▄ ╔╬╪ ▄ -- ╔NCREMENT ╪-╥EG. BY ╧NE
  319.  '-----'
  320.  ╪+1 -> ╪
  321.  
  322.  ,-----.
  323.  ▄ ─┼╪ ▄ -- ─ECREMENT ╪-╥EG. BY ╧NE
  324.  '-----'
  325.  ╪-1 -> ╪
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  ,-----.
  335.  ▄ ╔╬┘ ▄ -- ╔NCREMENT ┘-╥EG. BY ╧NE
  336.  '-----'
  337.  ┘+1 -> ┘
  338.  
  339.  ,-----.
  340.  ▄ ─┼┘ ▄ -- ─ECREMENT ┘-╥EG. BY ╧NE
  341.  '-----'
  342.  ┘-1 -> ┘
  343.  
  344.   ╘HESE INSTRUCTIONS HAVE THE SAME EFFECT AS THE ╔╬├ AND ─┼├ COMMANDS BUT 
  345. WORK DIRECTLY ON THE INDEX REGISTERS. ╫E WILL SEE HOW THESE ONE-BYTE 
  346. COMMANDS ARE VERY USEFUL IN CONTROLLING LOOPS.
  347.  
  348.    ╠─┴ #$╞╞
  349.    ─┼╪    ;╙UBTRACT ONE FROM ╪-REG.
  350.    ╔╬┘    ;┴DD ONE TO ┘-╥EGISTER.
  351.           ;╘HE IS UNCHANGED.
  352.  
  353.  
  354.  
  355.   2.1.5   ╠OGICAL ╧PERATIONS
  356.  
  357.    ╘HE BINARY LOGIC OPERATIONS ARE USED TO TEST INDIVIDUAL BITS FOR 
  358. DECISION MAKING PURPOSES. ┴LSO, THEY CAN CHANGE CERTAIN BITS OF A BYTE 
  359. WITHOUT EFFECTING THE OTHERS.
  360.  
  361.  ,-----.
  362.  ▄ ┴╬─ ▄ -- "┴╬─" ═EMORY WITH ┴CC.
  363.  '-----'
  364.  ┴ & ═ -> ┴
  365.  
  366.    ╘HE LOGICAL "┴╬─" OPERATION COMPARES EACH BIT IN MEMORY WITH THE 
  367. CORRESPONDING BIT IN THE ACCUMULATOR AND STORES THE RESULTS BACK IN THE 
  368. ACCUMULATOR. ╔F BOTH BITS ARE A "1", THE ANSWER WILL BE A "1"; ANY OTHER 
  369. COMBINATION GIVES A ZERO FOR THAT BIT. ╘HE NEGATIVE AND ZERO FLAGS ARE 
  370. EFFECTED BY THE RESULTS. ╘HE FOLLOWING EXAMPLE SHOWS HOW ONE BIT IN MEMORY 
  371. IS TESTED TO MAKE A DECISION:
  372.  
  373.   ╠┼╞╘=4      ;╘HE NUMBER ╠┼╞╘ IS A
  374.    ╠─┴ #╠┼╞╘  ;"MASK" FOR BIT 3.
  375.               ;(4=0000 0100 BINARY)
  376.    ┴╬─ ╙╘╔├╦0 ;├HECK IF THE STICK
  377.               ;IS IN THAT POSITION.
  378.    ┬┼╤ ╠┼╞╘╨0 ;...IF IT IS, THEN GO
  379.               ;TO THE INSTRUCTION
  380.               ;LABELED '╠┼╞╘╨0'.
  381.  
  382. ╫E WILL DISCUSS BRANCH INSTRUCTIONS IN THE SESSION 3.
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  ,-----.
  401.  ▄ ╧╥┴ ▄ -- "╧╥" ═EMORY WITH ┴CC.
  402.  '-----'
  403.  ┴ OR ═ -> ┴
  404.  
  405.    ╘HE BINARY "╧╥" INSTRUCTION RETURNS A ZERO TO THE BITS OF THE 
  406. ACCUMULATOR IF BOTH CORRESPONDING BITS ARE "0"; ANY OTHER COMBINATION GIVES 
  407. A "1". ┴GAIN, THIS INSTRUCTION EFFECTS THE NEGATIVE AND ZERO FLAGS. ╘HIS 
  408. EXAMPLE SETS A SINGLE BIT IN MEMORY WITHOUT CHANGING THE BITS OTHERS IN 
  409. THAT LOCATION:
  410.  
  411.    ╠─┴ #1    ;═AKE ONLY THE DESIRED
  412.              ; BIT A ONE...
  413.    ╧╥┴ ├╬╘╥┬ ;╙ET BIT 1 IN MEMORY
  414.              ;AT LOCATION '├╬╘╥┬' 
  415.    ╙╘┴ ├╬╘╥┬ ;AND STORE THE RESULT
  416.              ;BACK THERE.
  417.  
  418.  ,-----.
  419.  ▄ ┼╧╥ ▄ -- "┼XCLUSIVE-╧╥" ═EMORY
  420.  '-----'      WITH ┴CCUMULATOR
  421.  ┴ ╓ ═ -> ┴
  422.  
  423.    ╘HE "┼XCLUSIVE-╧R" FUNCTION COMPARES EACH BIT IN MEMORY WITH THE 
  424. ACCUMULATOR, RETURNS A "1" IF THEY ARE DIFFERENT (0 AND 1), OR RETURNS A 
  425. "0" IF THEY ARE THE SAME (1-1 OR 0-0). ╘HIS INSTRUCTION CAN BE USED TO 
  426. COMPLEMENT A NUMBER BY COMPARING WITH BINARY 1111 1111.
  427.  
  428.    ╠─┴ ─┴╘┴ ;╟ET THE NUMBER STORED
  429.             ;AT LOCATION '─┴╘┴'.
  430.    ┼╧╥ #$╞╞ ;├OMPLEMENT IT.
  431.           ;($╞╞= BINARY 1111 1111.)
  432.    ╙╘┴ ─┴╘┴ ;┴ND PUT IT BACK.
  433.  
  434.  
  435.  
  436.   2.2  ┴SSEMBLY ╠ANGUAGE ╞ORMAT
  437.  
  438.    ╨LEASE REVIEW THE DETAILS INVLOVED IN ENTERING ASSEMBLY LANGUAGE LINES 
  439. OF CODE. ╒NLIKE ┬┴╙╔├, ┴SSEMBLY PROGRAMS HAVE DISTINCT "FIELDS" ON A LINE 
  440. THAT ARE RESERVED FOR DIFFERENT ASPECTS OF A LINE OF INSTRUCTION. ╥EAD SOME 
  441. PROGRAMS TO GET USED TO THE FORMAT!
  442.  
  443.  
  444. ╥EAD:
  445.       ┘OUR ╨ROGRAMMERS' ╥EFERENCE ╟UIDE
  446.       ┘OUR ASSEMBLER MANUAL (DIFFERENT
  447.       ASSEMBLERS HAVE DIFFERENT
  448.       SYNTAX!)
  449. ┴ND OTHER REFERENCES COVERING THIS.
  450.  
  451.  
  452.  
  453.  
  454.   
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. 2.3  ├OMMODORE ┴SSEMBLER ┼DITOR
  467. ├OMMANDS
  468.  
  469.    ┬ECOME FAMILIAR WITH THE ┼DITOR.  ╘HE ┴╒╘╧ COMMAND GIVES LINE NUMBERS 
  470. AUTOMATICALLY WHEN ENTERING CODE.  ╘HE ╬╒═┬┼╥ WILL RENUMBER THE PROGRAM 
  471. LINES. ╬OTE THAT THE LINE NUMBERS ARE NEEDED ONLY FOR EDITOR PURPOSES AND 
  472. ARE NOT USED IN THE PROGRAM AS IN ┬┴╙╔├.
  473.    ╘HE ╟┼╘ AND ╨╒╘/├╨╒╘ COMMANDS ARE USED IN THE ┼DITOR TO STORE AND 
  474. RETRIEVE THE SOURCE CODE. ╘HE FILE IS NOT AN EXECUTABLE PROGRAM BUT NEEDS 
  475. TO BE CONVERTED TO THE ACTUAL MACHINE CODE. ╘HE ASSEMBLER DOES THIS FOR 
  476. YOU. ╔N THE ├OMMODORE ASSEMBLER, YOU MUST PUT OR CPUT YOUR SOURCE CODE TO 
  477. DISK, LOAD THE ASSEMBLER, AND THEN RUN IT.  (CPUT TAKES UP LESS ROOM THAN 
  478. PUT) ╧THER ASSEMBLERS CAN ASSEMBLER SOURCE CODE STILL IN MEMORY.  ╘HE 
  479. ├OMMODORE ┴SSEMBLER CAN ASSEMBLE TO A DISK FILE, SEND A LISTING TO A 
  480. PRINTER, AND GENERATE CROSS-REFERENCE FILES.  ╙OMETIMES, YOU MAY WISH TO 
  481. USE IT SIMPLY TO FIND ANY ERRORS IN THE SOURCE CODE, AND THEN, YOU WILL 
  482. TELL IT NOT TO GENERATE ANY OUTPUT FILE.
  483. ╘╚┼ ╞╧╠╠╧╫╔╬╟ ╨┴╥┴╟╥┴╨╚ ╧╬╠┘ ┴╨╨╠╔┼╙ ╘╧ ╘╚┼ ├╧══╧─╧╥┼-┬╥┴╬─ ┴╙╙┼═┬╠┼╥.
  484.  ╔F YOU DO GET AN OUTPUT FILE, IT WILL BE A FILE OF HEXIDECIMAL NUMBERS.  
  485. ┘OU LOAD THIS INTO THE COMPUTERS MEMORY USING THE LOADER--USE HILOAD, WHICH 
  486. IS RESIDENT IN THE COMPUTER'S MEMORY, ALONG WITH THE EDITOR, UNLESS YOU 
  487. HAVE A MEMORY CONFLICT, IN WHICH CASE YOU USE LOLOAD.  ┘OU THEN HAVE TO USE 
  488. A MONITOR TO SAVE THE PROGRAM.
  489.  ╬OTE:  NEARLY ALL ├OMMODORE MONITORS REQUIRE YOU TO GIVE THE HIGH ADDRESS 
  490. FOR A SAVE AS ONE GREATER THAN THE LAST BYTE YOU WANT TO SAVE.  ╘HIS IS 
  491. TRUE OF THE KERNEL SAVE CALL.
  492. ___________________________________
  493.  
  494.  ╩OHN ─E═AR  71066,337  ╞EB.20,1984
  495.  EDITED 3/29/84 BY ╩OEL ╥UBIN
  496.         70007,576
  497.